grammar CSV;

@header { package com.gitee2.zwj.codegen; }

file: header row+ ;

header: row ;

row : field (',' field)* NEWLINE ;

field
    : TEXT         # text
    | STRING       # string
    |              # empty
    ;

TEXT   : ~[,\n\r]+ ;  //每一个逗号和换行符前面的数据
STRING : '"' ('""'|~'"')* '"' ; // quote-quote is an escaped quote
NEWLINE : '\r'? '\n' ;     //这个'\r'?是表示在windows下的换行